package hocusPocus.Controllers;

import hocusPocus.Cartes.Carte;
import hocusPocus.IHM.InteractionJoueur;
import hocusPocus.IHM.InterfacePlateau;
import hocusPocus.Partie.AnalyseZoneDeJeu;
import hocusPocus.Partie.Jeu;
import hocusPocus.Partie.Joueur;
import hocusPocus.Partie.Plateau;
import hocusPocus.Partie.ResoudrePouvoirHocus;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class ControllerInteractionJoueur implements ActionListener{
	private InteractionJoueur interactionJoueur;
	private InterfacePlateau interfacePlateau;

	public ControllerInteractionJoueur(InteractionJoueur interactionJoueur) {
		this.interactionJoueur = interactionJoueur;
		this.interfacePlateau = Jeu.getInstance().getInterfacePlateau();
	}
	@Override
	public void actionPerformed(ActionEvent e) {
		if(e.getSource() != null) {
			if(e.getSource() == interactionJoueur.btnOk) {
				for(int i = 0; i < interactionJoueur.tableIndexJoueur.size(); i ++) {
					if(interactionJoueur.tableIndexJoueur.get(i).isSelected()){ // Joueur voulant reagir
						Plateau.getInstance().setJoueurReagissant(Jeu.getListeJoueurs().get(i));
						interfacePlateau.rafraichirPanelJoueurReagissant();
						interfacePlateau.rafraichirPanelActionJoueur();
						interactionJoueur.dispose();
					}
				}
			}
			if(e.getSource() == interactionJoueur.btnResoudreCartes) { // Resolution des cartes
				AnalyseZoneDeJeu analyseZoneDeJeu = new AnalyseZoneDeJeu();
				analyseZoneDeJeu.Resolution();
				Plateau.getInstance().setJoueurReagissant(Plateau.getInstance().getJoueurCourant());
				interfacePlateau.rafraichirPanelJoueurCourant();
				interfacePlateau.rafraichirPanelActionJoueur();
				interactionJoueur.dispose();
				// Pose d'une nouvelle Hocus ou fin du tour
			}
		}
	}
}
